<template>
    <div>
        <!--        <div style="background: #3D8FFE;height: 50px;width: 50px" @click="onclick">121</div>-->
    </div>
</template>

<script>
    import { baseUrl } from "../config";
    import API from "../request/api";

    export default {
        name: "welcome4flutter",
        data() {
            return {
                system: "", // 系统号
                refer: {}, // 推荐人信息
                isHave: false // 系统号本地存在，且把token取出来赋值
                // dateNow: 0 // 当前时间戳
            };
        },
        computed: {},
        watch: {
            // 监听具体数据变化，并做相应的处理
        },
        methods: {
            methCheck(state) {
                let query = this.$route.query;
                //token,存储
                if (state === 0) {
                    // 后台返回的token
                    this.$store.commit("setToken", query.token);
                    this.$store.commit("setTokenType", query.token_type || "2");
                    if (query.token_type == "1" && this.system != 9999) {
                        //1.正式 2.临时
                        this.request.get(API.getUserInfo).then(res => {
                            this.$store.commit("setUserInfo", res);
                            //    新的系统信息,存储到tokenArray
                            let tokenArray = JSON.parse(
                                localStorage.getItem("tokenArray")
                            );
                            if (tokenArray) {
                                tokenArray[this.system] = {
                                    token: query.token,
                                    userInfo: res
                                };
                                this.$store.commit("setTokenArray", tokenArray);
                            } else {
                                let tokenArrayFirst = {};
                                tokenArrayFirst[this.system] = {
                                    token: query.token,
                                    userInfo: res
                                };
                                this.$store.commit(
                                    "setTokenArray",
                                    tokenArrayFirst
                                );
                            }
                        });
                    } else if (query.token_type == "2") {
                        //    2.临时
                        //    把本地userinfo清空，因为他要去首页啊。
                        this.$store.commit("setUserInfo", {});
                    }
                } else if (state === 1) {
                    // 本地存在的token
                    let tokenArray = JSON.parse(localStorage.getItem("tokenArray"));
                    this.$store.commit("setToken", tokenArray[this.system].token);
                    this.$store.commit("setTokenType", "1"); // 正式token
                    // alert(tokenArray[this.system].token);
                    if (this.system != 9999) {
                        this.request
                            .get(API.referUp, {
                                referrer: this.refer.referid,
                                system: this.system
                            })
                            .then(res => {
                                this.request.get(API.islogin).then(res => {
                                    if (res.islogin == 1) {
                                        this.request
                                            .get(API.getUserInfo)
                                            .then(res => {
                                                this.$store.commit(
                                                    "setUserInfo",
                                                    res
                                                );
                                            });
                                    }
                                });
                            })
                            .catch(err => {});
                    }
                    // this.$store.commit('setUserInfo', tokenArray[this.system].userInfo || {});
                    // this.$store.commit('setTokenType', tokenArray[this.system].token_type || 2);
                }
                if (this.system !== 9999) {
                    //  提交后台推荐人信息
                    this.request
                        .get(API.referUp, {
                            referrer: this.refer.referid,
                            system: this.system
                        })
                        .then(res => {});
                }
                // 把system对应的名称logo传出来
                this.request.get(API.message, { system: this.system }).then(res => {
                    this.$store.commit("setSystemData", res);
                    document.title = res.name;
                });
                // 再搞一次主色
                // this.changeTheme(this.system); // 切换样式方法
                // 外层动画关闭
                // document.getElementById('img').style.display = 'none';
                // 跳转目标路由
                if (this.system == 9999) {
                    // 9999 聚合系统 目标poly-login或poly-account
                    //临时token跳登录页，正式跳数据页 1正式 2临时
                    let routerName =
                        query.token_type == "2" ? "poly-login" : "poly-account";
                    this.$router.push({
                        name: routerName
                    });
                } else if (this.system == 9998) {
                    // 9998 系统列表页 目标all-sys
                    this.$router.push({
                        name: "all-sys"
                    });
                } else if (query.page == "group-detail") {
                    // 拼团详情
                    this.$router.push({
                        name: "group-detail",
                        query: {
                            gid: query.gid,
                            groupid: query.groupid
                        }
                    });
                } else if (query.page == "online-detail") {
                    // 普通商品详情
                    this.$router.push({
                        name: "online-detail",
                        query: {
                            gid: query.gid,
                            share: query.share
                        }
                    });
                } else if (query.page == "lottery") {
                    // 转盘抽奖
                    this.$router.push({
                        name: "lottery"
                    });
                } else {
                    //普通系统 目标front
                    this.$router.push({
                        name: "front"
                    });
                }
            },
            //根据聚合帐号查询默认系统和推荐人
            getPolySystem(aid) {
                return this.request
                    .get(API.getDefaultBrand, { aid: aid })
                    .then(res => {
                        this.system = res.system;
                        this.refer.referid = res.uid; // 推荐人id
                        this.refer.refername = res.nickname; // 推荐人id
                        //    把当前系统号和推荐人存储到本地
                        this.$store.commit("setSystem", this.system);
                        this.$store.commit("refer", this.refer);
                        this.$router.push({
                            name: "welcome",
                            query: {
                                system: this.system,
                                referid: this.refer.referid
                            }
                        });
                    })
                    .catch(err => {
                        this.$toast.fail(err);
                    });
            },
            onclick() {
                console.log(this.$route.query);
                this.$router.push({
                    name: this.$route.query.route
                });
                // flutterNavigator.postMessage("JS调用了Flutter");
            }
            // changeTheme(systemId) {
            //     console.log(systemId, '测试');
            //     if (typeof systemId !== 'string') {
            //         systemId = systemId.toString();
            //     }
            //     var themeMap = {
            //         //爱润妍
            //         10: {
            //             main: '#bf2071',
            //             sec: '#28163D',
            //             third: '#5A124A',
            //             tabIcon: '#fff'
            //         },
            //         //倩妆
            //         20: {
            //             main: '#b62b2e',
            //             sec: '#fff',
            //             third: '#b62b2e',
            //             tabIcon: '#666'
            //         },
            //         //母婴
            //         30: {
            //             main: '#66843F',
            //             sec: '#fff',
            //             third: '#66843F',
            //             tabIcon: '#666'
            //         },
            //         //聚合
            //         99: {
            //             main: '#bf2071',
            //             sec: '#28163D',
            //             third: '#5A124A',
            //             tabIcon: '#fff'
            //         }
            //     };
            //
            //     // 读取数据
            //     // const rootStyles = getComputedStyle(document.documentElement);
            //     // const varValue = rootStyles.getPropertyValue('--MAIN-COLOR').trim();
            //
            //     // 根据系统号切换主题色
            //
            //     let themeId = systemId.toString().charAt(0) + systemId.toString().charAt(1);
            //     if (themeMap[themeId || 10].main) {
            //         document.documentElement.style.setProperty('--MAIN-COLOR', themeMap[themeId || 10].main);
            //         document.documentElement.style.setProperty('--SEC-COLOR', themeMap[themeId || 10].sec);
            //         document.documentElement.style.setProperty('--THR-COLOR', themeMap[themeId || 10].third);
            //         document.documentElement.style.setProperty('--TAB-ICON-COLOR', themeMap[themeId || 10].tabIcon);
            //     }
            // }
        },
        beforeCreate() {
            // 可以在这加个loading事件，在加载实例时触发
            // 这个阶段实例的data、methods是读不到的
        },
        created() {
            // 初始化数据，如在这结束loading事件，异步ajax请求也适宜在这里调用
            // 实例创建后：这个阶段已经完成了数据观测(data observer)，属性和方法的运算， watch/event 事件回调。
            // mount挂载阶段还没开始，"el" 属性目前不可见，数据并没有在DOM元素上进行渲染
        },
        beforeMount() {
            // 相关的 render 函数首次被调用。
        },
        async mounted() {
            // alert('测试');
            let query = this.$route.query;
            console.log("flutter", query);

            // if (query.system === "9999") {
            //     this.$router.replace({
            //         name: query.route,
            //     });
            //     return;
            // }

            this.$store.commit("setSystem", query.system);
            this.$store.commit("setToken", query.token);
            this.$store.commit("setPlatform", query.platform);

            if (query.system != "9999") {
                await this.request.get(API.getUserInfo).then(res => {
                    this.$store.commit("setUserInfo", res);
                    //    新的系统信息,存储到tokenArray
                });
            }

            let _query = {};
            if (query.route === "poly-personal") {
                _query.aid = query.aid;
            }
            this.$router.replace({
                name: query.route,
                query: _query
            });

            // // 初始化token和userinfo
            // this.$store.commit("setToken", "");
            // this.$store.commit("setTokenType", "");
            // this.$store.commit("setUserInfo", {});
            // this.$store.commit("refer", {});
            // //1. 有aid 根据aid查system和refer
            // if (query.aid) {
            //     await this.getPolySystem(query.aid);
            // } else {
            //     //如果跳转到这个个页面
            //     //传过来的系统id在本地是否存在，如果存在相应的token就让他用这个token登录
            //     // this.$store.commit('setToken', '');
            //     let localSystem = JSON.parse(localStorage.getItem("system")) || ""; //缓存system
            //     // 查看是否携带brand,
            //     if (query.brand) {
            //         // 查看参数中有没有系统号(system),有就用，没有查看他上次退出的存到本地的系统号，有就用，没有就为空
            //         // 取出本地的brandArray对应品牌的系统号
            //         let brandArray = JSON.parse(localStorage.getItem("brandArray"));
            //         if (query.system) {
            //             this.system = query.system;
            //         } else if (brandArray && brandArray[query.brand]) {
            //             if (brandArray[query.brand] != 9999) {
            //                 this.system = brandArray[query.brand];
            //             }
            //         } else {
            //             this.system = ""; // 系统号
            //         }
            //     } else {
            //         this.system = query.system;
            //     }
            //     // 拼团选择登录当前品牌的哪个系统
            //     // 先查看是否是拼团
            //     if (query.page == "group-detail") {
            //         let systemBrand = query.system.substr(0, 1);
            //         // 1先查看他上次进入存到本地的系统号，有就用，没有
            //         let brandArray = JSON.parse(localStorage.getItem("brandArray"));
            //         if (brandArray && brandArray[systemBrand]) {
            //             if (brandArray[systemBrand] != 9999) {
            //                 this.system = brandArray[systemBrand];
            //             }
            //         } else if (query.system) {
            //             // 2就查看参数中有没有系统号(system),有就用,没有不设置
            //             this.system = query.system;
            //         }
            //     }
            //
            //     //处理refer
            //     //     后台返回token还是本地token，共用方法
            //     if (query.referid) {
            //         this.refer.referid = query.referid; // 推荐人id
            //         // 发请求获取推荐人的昵称
            //         this.request
            //             .get(API.lowInfo, { uid: this.refer.referid })
            //             .then(res => {
            //                 this.refer.refername = decodeURI(res.nickname); // 推荐人昵称
            //             });
            //         this.$store.commit("refer", this.refer);
            //     }
            //     //    把当前系统号和推荐人存储到本地
            //     this.$store.commit("setSystem", this.system);
            //     if (typeof query.system == "string") {
            //         query.brand = query.system.substr(0, 1);
            //     } else {
            //         query.brand = toString(query.system).substr(0, 1);
            //     }
            //     if (this.system != 9999 && query.page != "group-detail") {
            //         //    把当前系统存储到brandArrar
            //         let brandArray = JSON.parse(localStorage.getItem("brandArray"));
            //         if (brandArray) {
            //             brandArray[query.brand] = this.system;
            //             this.$store.commit("setBrandArray", brandArray);
            //         } else {
            //             let brandArrayFirst = {};
            //             brandArrayFirst[query.brand] = this.system;
            //             this.$store.commit("setBrandArray", brandArrayFirst);
            //         }
            //     }
            // }
            // if (!query.token) {
            //     //不带token也就是不是从后端回来,
            //     // 取本地tokenArray对比下有没有对应的token
            //     let tokenArray = JSON.parse(localStorage.getItem("tokenArray"));
            //     if (tokenArray && tokenArray[this.system]) {
            //         // 本地有对应系统的token
            //         this.methCheck(1);
            //     } else {
            //         // 没有就跳后台取token
            //         // 本地不存在token集合，直接跳转后台获取openid
            //         window.location.href = baseUrl + "/oauth";
            //     }
            // } else if (query.token) {
            //     // 本地存储临时tokenarray，为了更好地利用临时token不用跳oauth
            //     let tokenArray = JSON.parse(localStorage.getItem("tokenArray"));
            //     if (tokenArray) {
            //         tokenArray[this.system] = { token: query.token };
            //         this.$store.commit("setTokenArray", tokenArray);
            //     } else {
            //         let tokenArrayFirst = {};
            //         tokenArrayFirst[this.system] = { token: query.token };
            //         this.$store.commit("setTokenArray", tokenArrayFirst);
            //     }
            //     this.methCheck(0);
            // }
            // this.changeTheme(this.system); // 切换样式方法
        },
        beforeUpdate() {
            // 数据更新时调用，但不进行DOM重新渲染，在数据更新时DOM没渲染前可以在这个生命函数里进行状态处理
        },
        updated() {
            //  如果对数据统一处理，在这里写上相应函数
            // 这个状态下数据更新并且DOM重新渲染，当这个生命周期函数被调用时，组件 DOM 已经更新，所以你现在可以执行依赖于 DOM 的操作。当实例每次进行数据更新时updated都会执行
        },
        beforeDestroy() {
            // 可以做一个确认停止事件的确认框
        },
        destroyed() {
            // Vue 实例销毁后调用。调用后，Vue 实例指示的所有东西都会解绑定，所有的事件监听器会被移除，所有的子实例也会被销毁
        }
    };
</script>

<style scoped lang="stylus" rel="stylesheet/stylus">
    .all {
        position: relative;

        .big {
            width: 100%;
            height: 100px;
        }

        .strong {
            width: 30px;
            height: 30px;
            position: absolute;
            top: 70px;
            right: 0;
        }
    }
</style>
